// 引入基本样式
import '@/assets/css/base.css'
import '@/assets/css/sameStyle.less'

// 引入全局组件
import Title from '@/components/Title/Title.vue'
import SmallTitle from '@/components/SmallTitle/SmallTitle.vue'
import NewBox from '@/components/NewBox/NewBox.vue'
import SecectAddress from '@/components/SecectAddress/index.vue'
import SelectCommunity from '@/components/SelectCommunity'
import SelectSex from '@/components/SelectSex'
import ExportExcel from '@/components/ExportExcel/'

// 引入第三方组件
// Vant 组件
import Vant, { Lazyload } from 'vant'
import 'vant/lib/index.css'
// ElementUI 组件
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
// 地址选择
import VDistpicker from 'v-distpicker'
// 评论
// import comment from 'bright-comment'

// 引入第三方插件
import moment from 'moment/moment'
import 'default-passive-events'

import Vue from 'vue'
// 引入模块后自动生效
import '@vant/touch-emulator'
import App from './App.vue'
import router from './router'
import store from './store/'
import axios from 'axios'
import { saveAs } from 'file-saver'
import * as echarts from 'echarts'
import { VueJsonp } from 'vue-jsonp'

// 引入 api
// 引入获取 全国疫情数据api 的请求
import EpidemicListAPI from '@/api/epidemicAPI.js'
// 引入 ajax 请求
import ajax from '@/api/ajax.js'

// 引用全局组件
Vue.component('Title', Title)
Vue.component('SmallTitle', SmallTitle)
Vue.component('NewBox', NewBox)
Vue.component('v-distpicker', VDistpicker)
Vue.component('select-address', SecectAddress)
Vue.component('select-community', SelectCommunity)
Vue.component('select-sex', SelectSex)
Vue.component('ExportExcel', ExportExcel)

// 引用第三方组件
Vue.use(Vant).use(Lazyload).use(ElementUI).use(VueJsonp)

// 挂载到 vue 原型上
// 全国疫情数据api 挂载到 vue 原型上
Vue.prototype.$eAPI = EpidemicListAPI
// 发起 ajax请求 挂载到 vue 原型上
Vue.prototype.$ajax = ajax
// axios 挂载到 vue 原型上
Vue.prototype.axios = axios
// saveAs 挂载到 vue 原型上
Vue.prototype.saveAs = saveAs
// echart 挂载到 vue 原型上
Vue.prototype.$echarts = echarts
// moment 挂载到 vue 原型上
Vue.prototype.$moment = moment

Vue.config.productionTip = false

// 时间格式化全局过滤器
Vue.filter('formatDate', (date) => {
  const str = moment(date).format('YYYY-MM-DD')
  if (str === 'Invalid date') return date
  return str
})

new Vue({
  router,
  store,
  render: (h) => h(App),
}).$mount('#app')
